home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Taifun
/
Taifun 219 (1992-09-10)(Manewaldt, A.)(DE)(PD).zip
/
Taifun 219 (1992-09-10)(Manewaldt, A.)(DE)(PD).adf
/
BILDSCHIRMSCHONER
/
Bildschirmschoner.bas
< prev
next >
Wrap
BASIC Source File
|
1992-09-02
|
3KB
|
167 lines
LIBRARY "exec.library"
DECLARE FUNCTION Findtask&() LIBRARY
DECLARE FUNCTION settaskpri&() LIBRARY
task&=Findtask&(0)
CALL settaskpri(task&,-127)
WINDOW 1,"Bildschirmschoner 1.0 © 1992 by Siegfried Rings",(0,0)-(600,40),24+4+3
sWindow& = WINDOW(7)
sScreen& = PEEKL(sWindow& + 46)
sViewPort& = sScreen& + 44
sRastPort& = sScreen& + 84
sColorMap& = PEEKL(sViewPort& + 4)
colorTab& = PEEKL(sColorMap& + 4)
FOR i=0 TO 3
farbe=PEEKW(colorTab&+(2*i))
r3%(i)=farbe\16^2
g3%(i)=(farbe MOD 16^2)\16
b3%(i)=farbe-r3%(i)*256-g3%(i)*16
NEXT i
MENU 1,0,1,"SR_SOFTWARE_DESIGN "
MENU 1,1,1,"Zeit einstellen"
MENU 1,2,1,"Über das Programm"
MENU 1,3,1,"Entfernen"
FOR i=2 TO 4
MENU i,0,0,""
NEXT i
haupt1:
zeit&=TIMER
zeit2&=10
IF COMMAND$<>"" THEN
zeit2&=VAL(COMMAND$)
END IF
IF zeit2&<1 THEN zeit2&=1
PRINT "Die Zeit steht auf ";zeit2&;" Sekunden"
poregister&=14675978&
p1register&=14675980&
mr&=14675990&
dr&=12574721&
ml&=dr&
t1&=12577793&
p00=PEEKW(poregister&)
p11=PEEKW(p1register&)
br11=PEEKW(mr&)
bl11=PEEK(ml&)
d11=PEEK(dr&)
t11=PEEK(t1&)
haupt:
p0=PEEKW(poregister&)
p1=PEEKW(p1register&)
br1=PEEKW(mr&)
d1=PEEK(dr&)
bl1=PEEK(ml&)
t12=PEEK(t1&)
IF p0<>p00 THEN GOSUB normal
IF d11<>d1 THEN GOSUB normal
IF br1<>br11 THEN GOSUB normal
IF p1<>p11 THEN GOSUB normal
IF bl1<>bl11 THEN GOSUB normal
IF t11<>t12 THEN GOSUB normal
IF TIMER-zeit2&>zeit& AND bit=0 THEN GOSUB dunkel
m1%=MENU(0)
IF m1%<>1 THEN GOTO haupt
m1%=MENU(1)
ON m1%GOSUB eins,zwei,drei
GOTO haupt
eins:
WINDOW 2,"ZEIT EINSTELLEN IN SEKUNDEN",(100,100)-(310,130),1
LINE (130,5)-(170,20),2,bf
LINE (130,5)-(170,20),1,b
COLOR 1,2
LOCATE 2,18:PRINT "OKAY"
COLOR 1,0
LINE (10,5)-(20,20),2
LINE (10,5)-(30,5),2
LINE (30,5)-(20,20),2
PAINT (20,15),1,2
LINE (90,20)-(110,20),2
LINE (90,20)-(100,5),2
LINE (110,20)-(100,5),2
PAINT (100,15),1,2
LOCATE 2,5:PRINT zeit2&
eins1:
IF MOUSE(0)=0 THEN GOTO eins1
x=MOUSE(1)
y=MOUSE(2)
IF y>5 AND y<20 THEN
IF x>10 AND x<30 THEN zeit2&=zeit2&+1:CALL warten(.1)
IF x>90 AND x<110 THEN zeit2&=zeit2&-1:CALL warten(.1)
IF x>130 AND x<170 THEN GOTO eins2
END IF
IF zeit2&<1 THEN zeit2&=1
IF zeit2&>4000 THEN zeit2&=4000
LOCATE 2,5:PRINT zeit2&
GOTO eins1
eins2:
IF zeit2&<1 THEN zeit2&=1
WINDOW CLOSE 2
PRINT "Die Zeit steht auf ";zeit2&;" Sekunden"
RETURN
zwei:
WINDOW 2,"Über das Programm 'BILDSCHIRMSCHONER'",(100,100)-(500,180),1
PRINT "BILDSCHIRMSCHONER 1.0 ,programmiert am 12.7.1992"
PRINT "von Siegfried Rings in HISOFT-BASIC (COMPILIERT)"
PRINT "Dieses Programm ist FREEWARE !Jeder soll und darf"
PRINT "es benutzen.Wer mehr wissen will,schreibt an:"
PRINT "Siegfried Rings Software-Design"
PRINT "Iserstraße 7, 5419 Kleinmaischeid BRD"
PRINT
PRINT " Drücke linke Maustaste";
WHILE MOUSE(0)<>1:WEND
WINDOW CLOSE 2
RETURN
drei:
SYSTEM
dunkel:
PALETTE 0,0,0,0
CALL display (0)
RETURN
normal:
p00=PEEKW(poregister&)
p11=PEEKW(p1register&)
br11=PEEKW(mr&)
bl11=PEEK(ml&)
d11=PEEK(dr&)
t11=PEEK(t1&)
zeit&=TIMER
CALL display (1)
PALETTE 0,r3%(0)/15,g3%(0)/15,b3%(0)/15
REM bit=0
REM pokew &hdff180,farbe&
RETURN
SUB display(s%) STATIC
IF s%=1 THEN POKEW 14676118&,33024&
IF s%=0 THEN POKEW 14676118&,256
END SUB
SUB warten (zeit) STATIC
t=TIMER
WHILE TIMER<t+zeit:WEND
END SUB